Internet Protocol (IP) technology is designed to enable packet-switched interconnection of a heterogeneous set of computers and communication networks. A potentially diverse set of network and link layer technologies are interconnected through nodes, e.g., gateways (or routers), that provide a packet forwarding service. Information is transferred between end nodes (or hosts) as blocks of data called datagrams, where source and destination hosts are identified by fixed length addresses. Routing in IP internetworks is connectionless in nature, in that datagrams are forwarded between routers on a hop-by-hop basis using the destination address in the datagram.
Mobile IP (Ref: IETF RFC 2002) enables an IP host, also called a “mobile node” in the context of Mobile IP, to dynamically change its point of attachment to the network, yet remain contactable via a previously given “home address”. To achieve this a temporary local address or “care of address” is associated with the mobile node when it visits a foreign network. In some cases the care of address is that of a “foreign agent” that assists in this process, while in other cases the care of address may be directly assigned to the mobile node. The care of address is registered back on the home network in a node referred to as the “home agent”. The home agent intercepts packets destined to the home address of the mobile node and redirects the packets, by means of encapsulation and tunneling, towards the care of address associated with mobile node in the visited network. Upon delivery to the care of address, the encapsulation is removed and the original packet destined to the home address is delivered to the mobile node.
The Session Initiation Protocol (SIP) (Ref: IETF RFC 2543) enables end nodes or users to establish data communication sessions. SIP is a client/server protocol consisting primarily of request and response message exchanges. A SIP transaction typically comprises a request/response pair. SIP uses application layer routing, wherein SIP messages sent between two “user agents” may traverse through intermediate processing nodes referred to as SIP servers. SIP user agents and servers determine the next SIP node to which each message should be directed based on inspection and processing of SIP message header fields. Once the next SIP node is determined, the message is forwarded to that SIP node using normal network layer routing mechanisms. An enterprise network or Internet Service Provider may use SIP servers to assist in session establishment, enforce policies, or support user agent mobility. SIP mobility support mechanisms allow a user agent to maintain reachability by registering its present location information with a SIP server in its home network. This location information could either identify the location of the user agent or another SIP server to which request for the user agent should be sent (e.g., a SIP server in a visited network). The SIP server in the home network can then route any request for the user agent based on the presently registered location information.
Both a mobility management mechanism and a session establishment mechanism are required to support services such as Voice over IP in a cellular data network. FIG. 1 illustrates a system 100 based on a simple combination of Mobile IP and SIP. The system 100 is not necessarily prior art, but is useful for explaining Mobile IP and SIP for background purposes and therefore will be discussed here. The depicted system 100 comprises a plurality of access nodes 114, 126, where each access node 114, 126 provides connectivity to a plurality of N end nodes (160, 162), (164, 166), respectively, via corresponding access links (118, 120), (122, 124), respectively.
Interconnectivity between the access nodes 114, 126 is provided through network links 106, 108 and an intermediate network node 102. The network also includes a SIP server node 112 that is connected to the intermediate network node 102 by network link 110. The intermediate network node 102 also provides interconnectivity to another network 128 via network link 104, where the network 128 is the home network of end node X 162. The home network 128 includes a Mobile IPv4 home agent node 130 and a home SIP server node 132, each of which is connected to an intermediate network node 138 by one of two network links 134, 136, respectively. The intermediate network node 138 in the home network 128 also provides interconnectivity to network nodes that are external from the perspective of the home network 128 via network link 104. In the illustrated system 100, SIP servers 112 and 132 are physically distinct and remotely located from access nodes 114, 126 requiring external signaling between the housing of servers 112, 126 whenever either of the servers needs to interact with an access node 114, 126. As a result of the locations of server 112, 132 relative to access nodes 114, 126 undesirable delays may occur when a SIP server 112, 132 needs to interact with the elements of one of the access nodes 114, 126.
In the depicted system 100, end node X 162 uses Mobile IP to maintain reachability, while its present point of attachment to the network is through visited access node 114. End node X 162 has registered the address associated with a Mobile IPv4 foreign agent module 116 of the access node 114 as a care of address with its home agent 130 in its home network 128.
End node X 162 has also registered the location of a visited SIP server 112 with its home SIP server node 132 in its home network 128. Thus, the home SIP server 132 will direct SIP requests for end node X 162 to the visited SIP server 112. The dashed arrows show the path of a SIP request and response for a session initiated from end node Y 166 to end node X 162. End node Y 166 directs the initial request message 140 to the home SIP server 132 of end node X 162. The home SIP Server 132 subsequently directs a request message 142 to the visited SIP server 112 in accordance with the registered location information. Following reception of the request message 142 from the home SIP server 132, the visited SIP server 112 directs a request message 144 to the home address of end node X 162. This request message 144 is forwarded via normal network routing all the way back to the home network 128 of end node X 162, where it is intercepted by the home agent 130. The home agent 130 encapsulates the intercepted request message 144 and tunnels the encapsulated request message 146 to the foreign agent 116. Following reception of the encapsulated request message 146, the foreign agent 116 directs a request message 148 to end node X 162.
Following reception of the request message 148, end node X 162 sends a response to end node Y 166 such that the response traverses backwards through the same set of SIP intermediate servers that processed the request. This is accomplished in part by the fact that the information identifying the SIP servers 132, 112 through which the request traversed was added to the request message 142, 144 as it was forwarded. Thus, end node X 162 initially directs a response message 150 to the visited SIP server 112. The visited SIP Server 112 subsequently directs a response message 152 to the home SIP server 132. Following reception of the response message 152 from the visited SIP server 112, the home SIP server 132 directs a response message 154 to end node Y 166. However, the path of the response would be more circuitous in the case where Mobile IP operates in reverse tunneling mode (Ref: IETF RFC 2344). Although the alternate response signaling path is not shown in the figure, the following briefly describes the case when reverse tunneling is used. As opposed to being delivered directly to the visited SIP server 112, the response sent from end node X 162 would be encapsulated and tunneled to the home agent 130, where it would be decapsulated by the home agent 130 and directed back to the visited SIP server 112. Then from the visited SIP server 112, the SIP response signaling path would proceed as before, to the home SIP server 132, and finally to end node Y 166.
The depicted system 100 clearly illustrates the inefficient and circuitous forwarding of SIP request/response signaling associated with the establishment of a data communication session between end node Y 166 and end node X 162. System 100 also has several other deficiencies, particularly regarding session admission control, resource allocation, and mobility support. The primary difficulty with session admission control stems from the fact that the admission control and policy decision points do not coincide with the admission control and policy enforcement points. In particular, while the SIP servers 112, 132 process session establishment signaling and effectively serve as admission control and policy decision points, these servers 112, 132 are not on the path of session data traffic, and thus cannot be admission control and policy enforcement points. Note that data session traffic will not go through servers 112, 132 since these are only used for session signaling. Furthermore, since the SIP servers 112, 132 are not on the data path, they may be easily bypassed by the session signaling traffic provided that there are no additional control mechanisms. Admission control and policy enforcement can more effectively be applied in the access nodes 114,126, but this would require additional signaling between the SIP servers 112, 132 and the access nodes 114, 126 and greatly increase the complexity of the system 100. Similarly, with respect to resource allocation, since the SIP servers 112, 132 are not on the data path, the admission control decision cannot easily account for the availability of system resources to support the requested data communication session.
In a wireless communication system, information regarding the availability of resources at the access node 114, 126 and over the access links 118, 120, 122, 124 can be critical. Incorporation of access node and link resource availability information in the admission control decision in the system 100 would again require additional signaling between the SIP servers 112, 132 and the access nodes 114, 126 and again greatly increase the complexity of the system 100. Finally, supporting mobility in combination with all of the above signaling requires additional mechanisms to accommodate the movement of an end node 160, 162, 164, 166 during session establishment. In addition to increasing the complexity of the system 100, the use of additional signaling between the SIP servers 112, 132 and the access nodes 114, 126 to address these issues would also increase the latency associated with establishment of a data communication session and increase the bandwidth utilization on network links, thus reducing the practicality of the resultant system.
In view of the above discussion, it is apparent that there is a need for improved methods and apparatus for supporting end node mobility, communication session establishment and several other operations related to establishing and maintaining communications sessions in systems which use packets to transmit data.